linux版火狐浏览器部署详解

您所在的位置:网站首页 linux 打开火狐浏览器 linux版火狐浏览器部署详解

linux版火狐浏览器部署详解

2024-06-14 03:24| 来源: 网络整理| 查看: 265

 

Firefox下载地址

Firefox全历史版本下载:  http://ftp.mozilla.org/pub/firefox/releases/  Firefox驱动问题下载  https://github.com/mozilla/geckodriver/releases

我本地测试用的驱动版本:geckodriver-v0.30.0-win64.zip我本地测试用的火狐版本:92.0

我本地测试用的操作系统:centos7

火狐浏览器解压安装出现的问题

下载火狐版本包,上传,解压(tar jxf)执行命令报错如下:

问题一: [machangwei@xxx ~]$ ./firefox/firefox XPCOMGlueLoad error for file /home/machangwei/firefox/libmozgtk.so: libgtk-3.so.0: cannot open shared object file: No such file or directory Couldn't load XPCOM. 问题二: [deployer@xxx firefox]$ ./firefox XPCOMGlueLoad error for file /apps/svr/firefox/libxul.so: libXt.so.6: cannot open shared object file: No such file or directory Couldn't load XPCOM. 问题复现及解决 问题一复现及解决:

问题一缺少gtk3,执行如下命令解决

yum install -y gtk3

如果还不行,把gtk2也装上,回头补充详情

[root@localhost ~]# rpm -qa|egrep "gtk2|gtk3" gtk2-2.24.31-1.el7.x86_64 gtk3-3.22.30-6.el7.x86_64 [root@localhost ~]# yum remove gtk3 Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package gtk3.x86_64 0:3.22.30-6.el7 will be erased --> Processing Dependency: libgdk-3.so.0()(64bit) for package: google-chrome-stable-88.0.4324.150-1.x86_64 --> Processing Dependency: libgtk-3.so.0()(64bit) for package: google-chrome-stable-88.0.4324.150-1.x86_64 --> Running transaction check ---> Package google-chrome-stable.x86_64 0:88.0.4324.150-1 will be erased --> Finished Dependency Resolution Dependencies Resolved ===================================================================================================== Package Arch Version Repository Size ============================================================================================= Removing: gtk3 x86_64 3.22.30-6.el7 @updates 17 M Removing for dependencies: google-chrome-stable x86_64 88.0.4324.150-1 installed 228 M Transaction Summary ========================================================== Remove 1 Package (+1 Dependent package) Installed size: 245 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : google-chrome-stable-88.0.4324.150-1.x86_64 1/2 Erasing : gtk3-3.22.30-6.el7.x86_64 2/2 Verifying : gtk3-3.22.30-6.el7.x86_64 1/2 Verifying : google-chrome-stable-88.0.4324.150-1.x86_64 2/2 Removed: gtk3.x86_64 0:3.22.30-6.el7 Dependency Removed: google-chrome-stable.x86_64 0:88.0.4324.150-1 Complete! [root@localhost ~]# ./firefox/firefox XPCOMGlueLoad error for file /root/firefox/libmozgtk.so: libgtk-3.so.0: cannot open shared object file: No such file or directory Couldn't load XPCOM. [root@localhost ~]# yum install -y gtk3 Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 google-chrome | 1.3 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/4): google-chrome/primary | 1.8 kB 00:00:00 (2/4): epel/x86_64/updateinfo | 1.0 MB 00:00:00 (3/4): epel/x86_64/primary_db | 7.0 MB 00:00:15 (4/4): updates/7/x86_64/primary_db | 12 MB 00:00:29 Determining fastest mirrors * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com google-chrome 3/3 Resolving Dependencies --> Running transaction check ---> Package gtk3.x86_64 0:3.22.30-6.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved 。。。。。。。 Install 1 Package Total download size: 4.4 M Installed size: 17 M Downloading packages: gtk3-3.22.30-6.el7.x86_64.rpm | 4.4 MB 00:00:12 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : gtk3-3.22.30-6.el7.x86_64 1/1 Verifying : gtk3-3.22.30-6.el7.x86_64 1/1 Installed: gtk3.x86_64 0:3.22.30-6.el7 Complete! [root@localhost ~]# rpm -qa|grep chrome #原有的谷歌被卸载了,其实谷歌有用,并不想卸载呢,所有yum卸载连依赖一起卸载很危险,需要怎么解决这个 问题 [root@localhost ~]# [root@localhost ~]# ./firefox/firefox [GFX1-]: glxtest: libEGL initialize failed [GFX1-]: glxtest: X error, error_code=2, request_code=148, minor_code=3 [GFX1-]: glxtest: process failed (exited with status 1)

卸载之后报错,重装gtk3之后成功启动火狐浏览器

 卸载了gtk2之后还是能启动火狐的,重新启动进程页面就正常加载出来

 卸载gtk3,谷歌浏览器被当做依赖误卸载掉

 重装谷歌

 

 谷歌还是能正常使用的

 

 

问题二复现及解决:

移除libXt文件,问题复现,重新yum安装,问题解决

[root@localhost ~]# ./firefox/firefox >/dev/null 2>&1 & [1] 9310 [root@localhost ~]# ps -ef|grep firefox root 9310 9294 48 09:13 pts/6 00:00:11 ./firefox/firefox root 9437 9310 9 09:13 pts/6 00:00:01 /root/firefox/firefox-bin -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 248973 -jsInit 285716 -parentBuildID 20210901125518 -appdir /root/firefox/browser 9310 true tab root 9488 9310 6 09:13 pts/6 00:00:00 /root/firefox/firefox-bin -contentproc -childID 2 -isForBrowser -prefsLen 160 -prefMapSize 248973 -jsInit 285716 -parentBuildID 20210901125518 -appdir /root/firefox/browser 9310 true tab root 9524 9310 6 09:13 pts/6 00:00:00 /root/firefox/firefox-bin -contentproc -childID 4 -isForBrowser -prefsLen 5583 -prefMapSize 248973 -jsInit 285716 -parentBuildID 20210901125518 -appdir /root/firefox/browser 9310 true tab root 9541 9294 0 09:13 pts/6 00:00:00 grep --color=auto firefox [root@localhost ~]# rpm -qa|grep libXt libXtst-1.2.3-1.el7.x86_64 libXt-1.1.5-3.el7.x86_64 yum remove libXt-1.1.5-3.el7.x86_64 Removed: libXt.x86_64 0:1.1.5-3.el7 Dependency Removed: dbus-x11.x86_64 1:1.10.24-15.el7 firefox.x86_64 0:78.14.0-1.el7.centos libXaw.x86_64 0:1.0.13-4.el7 libXmu.x86_64 0:1.1.2-2.el7 xorg-x11-server-utils.x86_64 0:7.7-20.el7 xorg-x11-xauth.x86_64 1:1.0.9-1.el7 xorg-x11-xinit.x86_64 0:1.3.4-2.el7 xterm.x86_64 0:295-3.el7_9.1 [root@localhost ~]# ./firefox/firefox XPCOMGlueLoad error for file /root/firefox/libxul.so: libXt.so.6: cannot open shared object file: No such file or directory Couldn't load XPCOM. [root@localhost ~]# yum install -y libXt-1.1.5-3.el7.x86_64 Running transaction Installing : libXt-1.1.5-3.el7.x86_64 1/1 Verifying : libXt-1.1.5-3.el7.x86_64 1/1 Installed: libXt.x86_64 0:1.1.5-3.el7 [root@localhost ~]# ./firefox/firefox Error: no DISPLAY environment variable specified [root@localhost ~]# yum install -y xorg-x11-server-utils.x86_64 xorg-x11-xinit.x86_64 Installed: xorg-x11-server-utils.x86_64 0:7.7-20.el7 xorg-x11-xinit.x86_64 0:1.3.4-2.el7 Dependency Installed: libXmu.x86_64 0:1.1.2-2.el7 xorg-x11-xauth.x86_64 1:1.0.9-1.el7 [root@localhost ~]# ./firefox/firefox Error: no DISPLAY environment variable specified [root@localhost ~]# eval `dbus-launch --sh-syntax` -bash: dbus-launch: command not found [root@localhost ~]# yum install -y dbus-x11.x86_64 [root@localhost ~]# eval `dbus-launch --sh-syntax` [root@localhost ~]# ./firefox/firefox Error: no DISPLAY environment variable specified

重新打开一个会话窗口,成功启动进程

[root@localhost ~]# ./firefox/firefox >/dev/null 2>&1 & [1] 2333 [root@localhost ~]# ps -ef|grep firefox root 2333 1891 22 10:40 pts/2 00:00:04 ./firefox/firefox root 2484 2333 6 10:40 pts/2 00:00:01 /root/firefox/firefox-bin -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 249090 -jsInit 285716 -parentBuildID 20210901125518 -appdir /root/firefox/browser 2333 true tab root 2536 2333 0 10:40 pts/2 00:00:00 /root/firefox/firefox-bin -contentproc -childID 2 -isForBrowser -prefsLen 96 -prefMapSize 249090 -jsInit 285716 -parentBuildID 20210901125518 -appdir /root/firefox/browser 2333 true tab root 2601 2333 5 10:40 pts/2 00:00:00 /root/firefox/firefox-bin -contentproc -childID 4 -isForBrowser -prefsLen 5590 -prefMapSize 249090 -jsInit 285716 -parentBuildID 20210901125518 -appdir /root/firefox/browser 2333 true tab root 2665 2333 2 10:40 pts/2 00:00:00 /root/firefox/firefox-bin -contentproc -parentBuildID 20210901125518 -prefsLen 5590 -prefMapSize 249090 -appdir /root/firefox/browser 2333 true rdd root 2718 1891 0 10:40 pts/2 00:00:00 grep --color=auto firefox

 

 

 

 

需要安装的libXt依赖包总结:libXt.x86_64 dbus-x11.x86_64 firefox.x86_64 libXaw.x86_64 libXmu.x86_64xorg-x11-server-utils.x86_64 xorg-x11-xauth xorg-x11-xinit.x86_64 xterm.x86_64

[machangwei@aocxxx ~]$ rpm -qa|grep "libXt|dbus-x11|libXaw|libXmu|xorg-x11-server-utils|xorg-x11-xauth|xorg-x11-xinit|xterm"[machangwei@aocxxx ~]$ firefox

问题3解决乱码: Centos Firefox中文乱码(对Centos7/8都有效) yum -y groupinstall Fonts 马上生效。 查看是否安装成功

 

 

 

 

下载依赖包到本地:

yum install --downloadonly --downloaddir=/root/mcw/prob1 libXt dbus-x11 libXaw libXmu dbus-x11 xorg-x11-server-utils xorg-x11-xauth xorg-x11-xinit xterm yum groupinstall --downloadonly --downloaddir=/root/mcw/language Fonts 功能测试 windows上打开linux版浏览器测试,正常访问

windows上启用linux版火狐,需要安装图形化界面,安装xmanger,xshell启用xmanager

linux火狐能正常访问

 

 

python程序测试火狐浏览器是否能正常使用

#from selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.firefox.options import Optionsfrom time import sleepfrom selenium import webdriver

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('/root/firefox/firefox')

# 创建一个参数对象,用来控制chrome以无界面模式打开chrome_options = Options()#chrome_options.add_argument('--headless')  #无头浏览器#chrome_options.add_argument('--disable-gpu')#chrome_options.add_argument('--no-sandbox')#chrome_options.add_argument('--disable-dev-shm-usage')chrome_options.add_argument('--no-sandbox')chrome_options.add_argument('--disable-dev-shm-usage')chrome_options.add_argument('--headless')chrome_options.add_argument('blink-settings=imagesEnabled=false')chrome_options.add_argument('--disable-gpu')print("111111111111111111111")#实例化一个浏览器对象#bro = webdriver.Chrome(executable_path='/root/chromedriver',chrome_options=chrome_options)#bro = webdriver.Firefox(executable_path='/root/geckodriver',firefox_options=chrome_options)bro = webdriver.Firefox(executable_path='/root/geckodriver',firefox_options=chrome_options,firefox_binary=binary)  #实例化火狐浏览器对象。指定浏览器启动文件firefox_binary位置,指定浏览器驱动位置executable_path,指定启动参数,firefox_optionsprint("22222222222222222222222222222222")bro.get('https://www.baidu.com')print("33333333333333333333333333")sleep(2)bro.save_screenshot('1.png')print("4444444444444444444444444444444444444444")print(bro.page_source)sleep(1)bro.quit()

执行程序,成功截图访问百度的页面

 

 

启动Linux版火狐浏览器,需要使用xmanger连接(4a登录的主机无法使用xmanager连接),支持图形化界面才能启动成功,并且在自己笔记本上打开图形化的linux火狐浏览器。之前进入了一个误区,安装了软件就需要启动。自动化测试只需要使用无头浏览器来调用火狐,启动火狐进程。所以无需安装图形化界面等,只需要解决火狐的缺少的库文件,中文字符之类的问题,就可以使用程序测试是否能正常使用浏览器。

 

文档整理不全,可参考笔记信息:

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

yum install -y http://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm

#wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

#rpm -Uvh epel-release--.noarch.rpm

http://archives.fedoraproject.org/pub/archive/epel/

https://npm.taobao.org/mirrors/chromium-browser-snapshots/Win_x64/884014/https://download.csdn.net/download/qq_40949759/11593946

启动命令,火狐启动后出来火狐浏览器中文乱码./firefox/firefox >/dev/null 2>&1 &

/opt/google/chrome/google-chrome --disable-setuid-sandbox --user-data-dir --no-sandbox/opt/google/chrome/google-chrome --disable-setuid-sandbox --user-data-dir --no-sandbox >/dev/null 2>&1 &

说明dbus没有建立,要安装必要的工具:# apt-get install dbus-x11运行 dbus-launch :# dbus-launch

1.启动Chrome/usr/bin/google-chrome会报错:[31560:31560:0207/085601.085852:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

修改 /usr/bin/google-chrome文件将 exec -a "$0" "$HERE/chrome" "$@" 改为exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox就可以直接启动了

Ubuntu链接:https://www.jianshu.com/p/ea9a1a4ab95c

xmanager使用https://blog.csdn.net/yongwan5637/article/details/84060709xmanager安装https://www.xshellcn.com/xiazai.html

启动程序https://blog.csdn.net/longgeaisisi/article/details/90519690

安装x11https://blog.csdn.net/h106140873/article/details/107135811

安装xterm,xterm出来小窗口https://www.jianshu.com/p/23ba123ee8742.在服务器端vi /etc/ssh/sshd_config,添加一行:需要root,不确定是否开启了的X11Forwarding yes

dbus命令没有

dbus-x11 yum安装

centos6的源https://developer.aliyun.com/mirror/

epel 6的源http://archives.fedoraproject.org/pub/archive/epel/yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpmyum install -y http://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3